﻿// scripts/clean-index-regex.mjs
import { readFileSync, writeFileSync } from 'fs';

const htmlPath = './dist/index.html';
let html = readFileSync(htmlPath, 'utf-8');

// 删除 <script type="module" ...> 全部内容（自闭合或含内容）
html = html.replace(/<script\b[^>]*\btype\s*=\s*["']module["'][^>]*>[\s\S]*?<\/script>/gi, '');

// 删除 <script nomodule ...> 的 nomodule 属性（保留其他属性）
html = html.replace(/<script\b(?=[^>]*\bnomodule\b)[^>]*>/gi, m => m.replace(/\bnomodule\b\s*/gi, ''));

// 删除 <script crossorigin ...> 的 crossorigin 属性（保留其他属性）
html = html.replace(/<script\b(?=[^>]*\bcrossorigin\b)[^>]*>/gi, m => m.replace(/\bcrossorigin\b\s*/gi, ''));

// 将 <script data-src="..." ...> 改为 <script src="...">
html = html.replace(
    /<script\b(?=[^>]*\bdata-src\s*=\s*["']?)([^>]*?)data-src\s*=\s*["']([^"']+)["']([^>]*)>/gi,
    '<script$1src="$2"$3>'
);

// 可选：删除 <link rel="modulepreload" href="...">
html = html.replace(/<link\b[^>]*\brel\s*=\s*["']modulepreload["'][^>]*>/gi, '');

// 移除 <link> 上的 crossorigin 属性（单/双引号/无引号，属性顺序无关）
html = html.replace(/<link\b(?=[^>]*\bcrossorigin\b)[^>]*>/gi, m => m.replace(/\bcrossorigin\b\s*/gi, ''));

writeFileSync(htmlPath, `${html}`, 'utf-8');
console.log('✅ index.html 已清理：移除了 type="module"、nomodule、crossorigin，data-src→src');
